﻿using System;
using Autodesk.Revit.DB;

namespace HYRevitCode.ElementSearchUtility.LinkDocumentSuite
{
	internal abstract class BaseTransformFilterClass
	{
		internal Transform UseTransform
		{
			get
			{
				return this.m_useTransform;
			}
		}

		protected BaseTransformFilterClass(Transform input)
		{
			this.m_useTransform = input;
		}

		protected Transform GetAddTransform(Transform input)
		{
			Transform result;
			if (this.m_useTransform == null)
			{
				result = input;
			}
			else if (input != null)
			{
				result = this.m_useTransform.Multiply(input);
			}
			else
			{
				result = this.m_useTransform;
			}
			return result;
		}

		internal abstract ElementFilter GetUseFilter();

		protected Transform m_useTransform;
	}
}
